#!/usr/bin/env python
import os
import sys
import django

# 设置Django环境
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings.sqlite_development')
django.setup()

from django.contrib.auth import get_user_model
from apps.users.models import UserProfile

User = get_user_model()

def create_admin_user():
    """创建管理员用户"""
    try:
        # 检查是否已存在管理员用户
        if User.objects.filter(username='admin').exists():
            print('管理员用户已存在')
            user = User.objects.get(username='admin')
            print(f'用户名: {user.username}')
            print(f'邮箱: {user.email}')
            print(f'角色: {user.role}')
            return user

        # 创建管理员用户
        admin_user = User.objects.create_user(
            username='admin',
            email='admin@aiaoes.com',
            password='admin123456',
            real_name='系统管理员',
            role='admin',
            is_staff=True,
            is_superuser=True
        )

        # 创建用户档案
        UserProfile.objects.create(
            user=admin_user,
            bio='系统默认管理员账号'
        )

        print('管理员用户创建成功!')
        print('用户名: admin')
        print('密码: admin123456')
        print('邮箱: admin@aiaoes.com')
        print('角色: admin')

        return admin_user

    except Exception as e:
        print(f'创建管理员用户失败: {e}')
        return None

if __name__ == '__main__':
    create_admin_user()